/*
 * @Author: zxhuan 
 * @Date: 2018-04-11 10:03:57 
 * @Blog:www.zxhuan.com 
 * @Email:1123046380@qq.com 
 * @Last Modified time: 2018-04-11 10:03:57 
 */
import { dataURL } from '@/mock/dataURL';
import { Ajax } from '@/ajax';
/**
 * 查询所有验证的状态
 * @param {*} parmas 
 * method Type Post
 * userNo 是 int 用户编号
 * token 是 string 令牌
 */
const GetUserState = (parmas) => Ajax.Post(dataURL.user.getUserState, parmas);
/**
 * 绑定邮箱
 * @param {*} parmas 
 * method Type Post
 * userNo 是 int 用户编号
 * mail 是 String 邮箱号码
 * code 是 String 验证码
 */
const BindMail = (parmas) => Ajax.Post(dataURL.user.bindMail, parmas);
/**
 * 请求修改验证
 * @param {*} parmas 
 * method Type Post
 * token 是 string token
 * code 是 string 验证码
 * type 否 int 验证方式，1、手机验证；2、邮件验证
 */
const ChangeEmailValidata = (parmas) => Ajax.Post(dataURL.user.ChangeEmailValidata, parmas);
/**
 * 重新绑定邮箱
 * @param {*} parmas 
 * method Type Post
 * token 是 string token
 * code 是 string 新邮箱收到的验证码
 * mail 否 string 要重新绑定的邮箱
 */
const ModifyMail = (parmas) => Ajax.Post(dataURL.user.modifyMail, parmas);
/**
 * 修改登录密码
 * @param {*} parmas 
 * method Type Post
 * password 是 string 新登陆密码
 * userNo 是 int 用户编号
 * token 是 string 令牌
 */
const UpdateInesvUser = (parmas) => Ajax.Post(dataURL.user.updateInesvUser, parmas);
/**
 * 实名（身份）认证
 * @param {*} parmas
 * method Type Post
 * imgHand 是 MultipartFile 手持照片
 * imgFace 是 MultipartFile 正面照片
 * imgBack 是 MultipartFile 反面照片
 * user_no 是 String 用户编号
 * realName 是 String 真实姓名
 * identity 是 String 身份证号
 * startDate 是 String 身份证有效开始日期
 * endDate 是 String 身份证有效开始日期
 * token 是 token 
 */
const AddIdendityImg = (parmas) => Ajax.upLoadFile(dataURL.user.addIdendityImg, parmas);
/**
 * 绑定手机
 * @param {*} parmas 
 * method Type Post
 * phone 是 string 手机号
 * userNo 是 int 用户编号
 * code 是 string 短信验证码
 */
const SetPhone = (parmas) => Ajax.Post(dataURL.user.setPhone, parmas);
/**
 * 重新绑定手机
 * @param {*} parmas 
 * method Type Post
 * 参数名 必选 类型 说明
 * token 是 string token
 * code 是 string 新手机收到的验证码
 * phone 否 string 要重新绑定的手机号
 */
const ModifyPhone = (parmas) => Ajax.Post(dataURL.user.modifyPhone, parmas);
/**
 * 设置交易密码
 * method Type Post
 * @param {*} parmas 
 * password 是 string 交易密码
 * userNo 是 int 用户编号
 * phoneCode 是 string 短信验证码
 * token 是 string 令牌
 */
const SetDealPwd = (parmas) => Ajax.Post(dataURL.user.setDealPwd, parmas);
/**
 * 修改支付密码
 * @param {*} parmas 
 * method Type Post
 * oldPwd 是 string 旧支付密码
 * newPwd 是 string 新支付密码
 * token 是 string 令牌
 */
const UpdateDealPwd = (parmas) => Ajax.Post(dataURL.user.updateDealPwd, parmas);
/**
 * 查询实名（身份）认证信息
 * @param {*} parmas 
 * method Type Post
 * user_no 是 String 上上级菜单的id
 * token 是 token
 */
const GetIdendityInfByUserNo = (parmas) => Ajax.Post(dataURL.user.getIdendityInfByUserNo, parmas);
/**
 * 绑定微信
 * @param {*} parmas 
 * method Type Post
 * token 是 string 令牌
 * weixin 是 string 微信账号
 * dealPassword 是 string 支付密码
 */
const BindWeChat = (parmas) => Ajax.Post(dataURL.user.bindWeChat, parmas);
/**
 * 
 * @param {*} parmas 
 * method Type Post
 * token 是 string 令牌
 * alipay 是 string 支付宝账号
 * dealPassword 是 string 支付密码
 */
const UpdateAlipay = (parmas) => Ajax.Post(dataURL.user.updateAlipay, parmas);
/**
 * 绑定银行卡接口
 * @param {*} parmas
 * method Type Post
 * token 是 string 令牌
 * bank 是 string 开户银行
 * branch 是 string 开户分行
 * address 是 string 开户地址
 * bank_num 是 string 银行卡号
 * name 是 string 持卡人姓名 
 */
const BindBank = (parmas) => Ajax.Post(dataURL.user.bindBank, parmas);
/**
 * 根据id和用户编号用户获取银行卡信息接口
 * @param {*} parmas 
 * method Type Post
 * userNo 是 int 用户编号
 */
const GetBankInfo = (parmas) => Ajax.Post(dataURL.user.getBankInfo, parmas);
/**
 * 用户银行卡信息
 * @param {*} parmas 
 * method Type Post
 * bankId 是 long 银行卡id
 * userNo 是 int 用户编号
 */
const GetBankInfoByid = (parmas) => Ajax.Post(dataURL.user.getBankInfoByid, parmas);
/**
 * 修改银行卡
 * @param {*} parmas 
 * method Type Post
 * token 是 string token
 * bankId 是 string id
 * bank 否 string 银行名称
 * address 否 string 开户地址
 * branch 否 string 开户分行
 * name 否 string 姓名
 * bank_num 否 string 卡号
 */
const ChangeBindBank = (parmas) => Ajax.Post(dataURL.user.changeBindBank, parmas);
/**
 * 删除银行卡
 * @param {*} parmas 
 * method Type Post
 * bankId 是 long 银行卡id
 * token 是 string 令牌
 */
const DeleteBank = (parmas) => Ajax.Post(dataURL.user.deleteBank, parmas);
/**
 * 身份认证国家地区集合
 * @param {*} parmas 
 * method Type Post
 */
const GetIdendityZone = (parmas) => Ajax.Post(dataURL.user.getIdendityZone, parmas);
export const User = {
  GetUserState,
  BindMail,
  ChangeEmailValidata,
  ModifyMail,
  AddIdendityImg,
  SetPhone,
  ModifyPhone,
  SetDealPwd,
  UpdateDealPwd,
  GetIdendityInfByUserNo,
  BindWeChat,
  UpdateAlipay,
  BindBank,
  GetBankInfoByid,
  GetBankInfo,
  ChangeBindBank,
  DeleteBank,
  GetIdendityZone,
  UpdateInesvUser
};